// JointOwnFunction.h: interface for the JointOwnFunction class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_JOINTOWNFUNCTION_H__1F40D1B5_BF5F_4217_9B02_30819498C5B2__INCLUDED_)
#define AFX_JOINTOWNFUNCTION_H__1F40D1B5_BF5F_4217_9B02_30819498C5B2__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "FunctionObject.h"
#include "PropertyStack.h"

class Joint;

class DllExport JointOwnFunction : public FunctionObject  
{
	DECLARE_DYNAMIC_EX(JointOwnFunction);
public:
	JointOwnFunction();
	virtual ~JointOwnFunction();

public:
	virtual FunctionObject* InstanceFunction(Joint* pJoint) = 0;

protected:
	CString CaculateString(const CString& strExpr);
	CString CaculateString(const CString& strExpr, PropertySystem::PropertyStack* pStack);
};

#endif // !defined(AFX_JOINTOWNFUNCTION_H__1F40D1B5_BF5F_4217_9B02_30819498C5B2__INCLUDED_)
